home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
05 Programming
/
CDT128.ARC
/
CONV.C
< prev
next >
Wrap
Text File
|
2019-04-13
|
1KB
|
56 lines
/***********************************************************************/
/***********************************************************************/
/* */
/* ╘HIS PROGRAM IS COPYRIGHT 1986 BY ┴LAN ┘ORINKS. ╔T MAY BE FREELY */
/* DISTRIBUTED FOR NON COMMERCIAL USAGE IF THIS COPYRIGHT NOTICE IS */
/* LEFT INTACT. ├OMMERCIAL USAGE OF THIS PROGRAM IS EXPLICITLY */
/* FORBIDDEN WITHOUT THE WRITTEN PERMISSION OF THE AUTHOR. */
/* */
/***********************************************************************/
/***********************************************************************/
/* CDT VERSION 1.0 PART 5 OF 15 ╩ULY 25, 1986 */
/* HEX ASCII STRING TO INTEGER CONVERTER */
UNSIGNED
HATOI(STRING)
CHAR *STRING ;
█
UNSIGNED VAL = 0 ;
UNSIGNED HEXTONBL() ;
WHILE( *STRING ) /* READ CHARACTERS UNTIL \0 IS FOUND */
VAL = ( VAL << 4 ) + HEXTONBL( *STRING++ ) ;
RETURN VAL ;
▌
/* ASCII HEX CHARACTER TO HEX NIBBLE CONVERSION */
UNSIGNED
HEXTONBL(C)
UNSIGNED C ;
█
IF( C >= '0' && C <= '9')
C -= '0' ;
ELSE IF( C >= '┴' && C <= '╞' )
C += 10 - '┴' ;
ELSE IF( C >= 'A' && C <= 'F' )
C += 10 - 'A' ;
ELSE
█
PRñUSAGE(6) ;
ABORT() ;
▌
RETURN C ;
▌